import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class MinskyMysteryTest {

    protected MinskyMystery solution;

    @Before
    public void setUp() {
        solution = new MinskyMystery();
    }

    @Test
    public void testCase0() {
        long N = 2L;

        int expected = 9;
        int actual = solution.computeAnswer(N);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void testCase1() {
        long N = 3L;

        int expected = 27;
        int actual = solution.computeAnswer(N);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void testCase2() {
        long N = 4L;

        int expected = 16;
        int actual = solution.computeAnswer(N);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void testCase3() {
        long N = 2401L;

        int expected = 59058;
        int actual = solution.computeAnswer(N);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void testCase4() {
        long N = 24L;

        int expected = 86;
        int actual = solution.computeAnswer(N);

        Assert.assertEquals(expected, actual);
    }

}
